package net.oschina.simpleplus.core;

import net.oschina.simpleplus.client.Packet;

public interface Client {

    void start();

    void shutdown();

    Packet invokeSync(Packet packet, long timeoutMillis) throws Exception;

    void invokeAsync(Packet packet, long timeoutMillis, InvokeCallback invokeCallback) throws Exception;

    void invokeOneWay(Packet packet, long timeoutMillis) throws Exception;
}